Modern cellular networks support packet switched (PS) data transfer between a wireless communication device and the serving cellular network. A wide range of applications running on wireless communication devices now take advantage of data support by modern cellular networks and make heavy use of data traffic to support their functionality.
When an application running on a wireless communication device needs to send or receive data traffic, the wireless communication device must establish a data connection with the serving network to support the data traffic. In order to establish a data connection, the wireless communication device can acquire an Internet Protocol (IP) address from the serving network. If the device fails to acquire an IP address and establish a data connection for any of a variety of reasons, such as the core network rejecting a request, the device can perform a data retry mechanism to obtain an IP address and establish a data connection to support data transfer for a requesting application.
A data retry mechanism can be defined by a data retry pattern that can define a number of data connection retry attempts to perform and respective intervals between attempts. Currently, many devices and serving networks use a single data retry pattern regardless of an application requesting a data connection. However, some applications may have higher priority than others. Further, some applications, which may not be used as frequently, may not continue to be used by a user following a data context rejection. Accordingly, application of a one-size-fits-all data retry mechanism can result in undue network overhead due to the burden of signaling for supporting data connection retry attempts. Further application of an overly aggressive data retry mechanism for an application not meriting a large number of frequent retry attempts can result in wasted battery consumption by a wireless communication device. On the flip side, application of a data retry pattern that is too conservative for a high priority application can increase data stall time, thus negatively impacting application functioning and user experience.